package com.newer.biz.sys.auth;

import com.newer.commons.result.BizResult;
import com.newer.dao.bean.sys.Menu;
import com.newer.dao.bean.sys.MenuPermission;
import com.newer.dao.bean.sys.User;
import com.newer.dao.bean.sys.UserRole;

import java.util.List;

/**
 * Shiro相关biz操作
 * <p>
 * Created by 寻添俊 on 2016/10/21.
 */
public interface ShiroBiz {

    /**
     * 用户登录服务
     *
     * @param loginName
     * @return
     */
    BizResult<User> userLogin(String loginName);

    /**
     * 获取用户所拥有的角色
     *
     * @param userId
     * @return
     */
    BizResult<UserRole> findUserRoles(String userId);


    /**
     * 查询用户所拥有的菜单信息
     *
     * @return
     */
    BizResult<Menu> findUsersMenus(List<UserRole> userRoles);


    /**
     * 根据菜单ID查询访问菜单所需要的权限信息
     *
     * @param menuId
     * @return
     */
    BizResult<MenuPermission> findMenuPermsByMenuId(String menuId);
}
